<html>
<head><meta charset="utf-8"><title>libgccjit · t-infra · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/index.html">t-infra</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html">libgccjit</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="246924936"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/libgccjit/near/246924936" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html#246924936">(Jul 23 2021 at 01:44)</a>:</h4>
<p>The <a href="https://github.com/rust-lang/compiler-team/issues/442">MCP for rustc_codegen_gcc</a> approved the idea of building (but not testing) the gcc backend in CI. This currently requires building libgccjit from a patched version of GCC. What would be the Right Way to integrate this into CI?</p>



<a name="246924985"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/libgccjit/near/246924985" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html#246924985">(Jul 23 2021 at 01:45)</a>:</h4>
<p>Add GHA on a rust-lang/gcc repository that builds an artifact and uploads it to S3 (labeled with the appropriate commit hash), and then use that artifact in rust-lang/rust CI when building <code>rustc_codegen_gcc</code>?</p>



<a name="246925050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/libgccjit/near/246925050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html#246925050">(Jul 23 2021 at 01:46)</a>:</h4>
<p>What would be the approach that fits best into CI? (Note that we wouldn't want to add gcc itself as a submodule of rust-lang/rust, because we don't want rust-lang/rust or generated source tarballs to have GCC code in them.)</p>



<a name="246939971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/libgccjit/near/246939971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html#246939971">(Jul 23 2021 at 04:56)</a>:</h4>
<p>For most CI, we use a script in the Dockerfile to build toolchain stuff, and then each image will be cached as a whole.</p>



<a name="246939981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/libgccjit/near/246939981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> cuviper <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html#246939981">(Jul 23 2021 at 04:57)</a>:</h4>
<p>We might still upload the libgccjit _source_ to S3 though, so it's not dependent on GCC servers</p>



<a name="247000491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/libgccjit/near/247000491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html#247000491">(Jul 23 2021 at 16:35)</a>:</h4>
<p>We need a patched version of the source anyway, so we need to supply our patched version of the source.</p>



<a name="247000643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/libgccjit/near/247000643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html#247000643">(Jul 23 2021 at 16:36)</a>:</h4>
<p>Would it be possible to get that from a rust-lang/gcc git repository?</p>



<a name="247012212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/libgccjit/near/247012212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html#247012212">(Jul 23 2021 at 18:04)</a>:</h4>
<p>Get the necessary gcc into the docker images perhaps?</p>



<a name="247033222"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/libgccjit/near/247033222" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html#247033222">(Jul 23 2021 at 21:11)</a>:</h4>
<p><span class="user-mention" data-user-id="123586">@nagisa</span> The problem is that you have to build libgccjit from the GCC source. (It doesn't need to be the same as the installed <code>gcc</code> binary.)</p>



<a name="247035097"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/libgccjit/near/247035097" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html#247035097">(Jul 23 2021 at 21:32)</a>:</h4>
<p>Yeah I meant get the necessary gcc sources and/or libgccjit build itself into an image, not gcc the binary. Sorry for ambiguous wording</p>



<a name="247037418"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/libgccjit/near/247037418" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html#247037418">(Jul 23 2021 at 21:58)</a>:</h4>
<p>Ah, I see.</p>



<a name="247037444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/libgccjit/near/247037444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/libgccjit.html#247037444">(Jul 23 2021 at 21:58)</a>:</h4>
<p>What would be the best place to put the CI bits that copy those sources from github to the image?</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>